{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "os.environ['CUDA_VISIBLE_DEVICES'] = ''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import malaya\n",
    "model = malaya.segmentation.transformer(model = 'small')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "\n",
    "with open('prepare/test-set-segmentation.json') as fopen:\n",
    "    data = json.load(fopen)\n",
    "    \n",
    "X, Y = [], []\n",
    "for x, y in data:\n",
    "    X.append(x)\n",
    "    Y.append(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Nihon bashi Mitsui Tower. Menara Nihon bashi Mitsui (Ri Ben Qiao Sanumber tawa, \"Nihon bashi Mtusi Tawa\") merupakan sebuah bangunan pencakar langit yang terletak di Chuo,umber Jepun. Dengan ketinggian 192 meter, bangunan berkembang berkembangnya telah siap pada tahun 2005. Ia dihubungkan oleh stesen bawah tanah, Stesen M menghukum shimae, Tokyo berkembang berkembang .',\n",
       " 'nihon bashi mitsui tower. menara nihon bashi mitsui (ri ben qiao san jing tawa, \"nihon bashi mtusi tawa\") merupakan sebuah bangunan pencakar langit yang terletak di chuo, tokyo, jepun. dengan ketinggian 192 meter, bangunan 34 tingkat ini digunakan terutamanya untuk ruang pejabat dan hotel di bahagian tingkat atas. berkembang telah siap pada tahun 2005. ia dihubungkan oleh stesen bawah tanah, stesen mitsukoshimae, tokyo metro.',\n",
       " 'Nihon bashi Mitsui Tower. Menara Nihon bashi Mitsui(Ri Ben Qiao San Jing tawa,\" Nihon bashi MtusiTawa\") merupakan sebuah bangunan pencakar langit yang terletak di Chuo, Tokyo, Jepun. Dem berkembang berkembang berkembang telah siap pada tahun 2005. Ia dihubungkan oleh stesen bawah tanah, Stesen Mitsukoshimae, Tokyo Metroro.',\n",
       " 'nihon bashimitsuitower. menara nihon bashi mitsui (ribenqiaosan jingtawa,\"nihon bashi mtusi tawa\") merupakan sebuah bangunan putus mencari. langit yang terletak di chuo, tokyo, jepun. dengan ketinggian 192 meter, bangunan berkembang berkembang berkembang berkembang berkembang oleh stesen bawah tanah, stesen mitsukos hime, tokyo metro.',\n",
       " 'Nihon bashi Mitsui Tower. Menara Nihon bashi Mitsui (Ri Ben Qiao San Jing tawa,\" Nihon bashi Mtusi Tawa\") merupakan sebuah bangunan pencakar langit yang terletak di berkermumber ,Tokyo,Jepun.Dengan ketinggian 192A berkembang oleh stesen bawah tanah, Stesen Mitsukoshimae,Tokyo Metro.',\n",
       " 'nihon bashimi tsuitower. menaranihon bashi mitsui(ri benqiaosan jingtawa,\"nihon bashi mtusi tawa\") merupakan sebuah bangunan firstent mencari berkembang untuk ruang pejabat dan hotel di bahagian tingkat atas. berkembang telah siap pada tahun 2005. ia dihubungkan oleh stesen bawah tanah, stesen mitsukos hime, tokyo metro.',\n",
       " 'Dengan ketinggian 192 meter, bangunan 34 tingkat ini digunakan terutamanya untuk ruang pejabat dan hotel di bahagian tingkat atas. Pembinaannya telah siap pada tahun 2005. Ia dihubungkan oleh stesen bawah tanah, Stesen Terbukaoshimae, Tokyoumber Antara berkembang bangunan ini ialah:. berkembang terutamanya untuk ruang pejabat dan hotel di bahagian tingkat atas. Pembinaannya telah siap pada tahun 2005. Ia dihubungkan oleh stesen bawah tanah, Stesen Terbukaoshimae, Tokyoumber berkembang berkembang berkembang oleh stesen bawah tanah,',\n",
       " 'dengan ketinggian 192 meter, bangunan 34 tingkat ini digunakan terutamanya untuk ruang pejabat dan hotel di bahagian tingkat atas. berkembang telah siap pada tahun 2005. ia dihubungkan oleh stesen bawah tanah, stesen mitsukoshimae, tokyo metro. antara penyewa bangunan ini ialah:. berkembang terutamanya untuk ruang pejabat dan hotel di bahagian tingkat atas. berkembang telah siap pada tahun 2005. ia dihubungkan oleh stesen bawah tanah, stesen mitsukoshimae, tokyo metro. antara penyewa bangunan 34',\n",
       " 'Dengan ketinggian 192 meter, bangunan 34 tingkat ini digunakan terutamanya untuk ruang pejabat dan hotel di bahagian tingkat atas. Pembembinaannya telah siap pada tahun 2005. Iadih berkembang oleh stesen bawah tanah, Stesen Mitsukoshimae, Tokyo Metro. Antara penyewabangunan ini ialah:.',\n",
       " 'dengan ketinggian 192 meter, bangunan 34 tingkat ini digunakan terutamanya untuk ruang pejabat dan hotel di bahagian tingkat atas. pembembinaannya telah siap pada tahun 2005. ia dihubungkan oleh stesen bawah tanah, stesen mitsukoshimae, tokyo metro. antara penyewabangunan ini ialah:. berkembang berkembang berkembang berkembang']"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.greedy_decoder(X[:10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 9939/9939 [44:21<00:00,  3.73it/s]   \n"
     ]
    }
   ],
   "source": [
    "from tqdm import tqdm\n",
    "\n",
    "batch_size = 10\n",
    "results = []\n",
    "for i in tqdm(range(0, len(X), batch_size)):\n",
    "    batch_x = X[i: i + batch_size]\n",
    "    r = model.greedy_decoder(batch_x)\n",
    "    results.extend(r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('Nihon bashi Mitsui Tower. Menara Nihon bashi Mitsui (Ri Ben Qiao Sanumber tawa, \"Nihon bashi Mtusi Tawa\") merupakan sebuah bangunan pencakar langit yang terletak di Chuo,umber Jepun. Dengan ketinggian 192 meter, bangunan berkembang berkembangnya telah siap pada tahun 2005. Ia dihubungkan oleh stesen bawah tanah, Stesen M menghukum shimae, Tokyo berkembang berkembang .',\n",
       " 'Nihonbashi Mitsui Tower. Menara Nihonbashi Mitsui (Ri Ben Qiao San Jing tawa, \"Nihonbashi Mtusi Tawa\") merupakan sebuah bangunan pencakar langit yang terletak di Chuo, Tokyo, Jepun. Dengan ketinggian 192 meter, bangunan 34 tingkat ini digunakan terutamanya untuk ruang pejabat dan hotel di bahagian tingkat atas. Pembinaannya telah siap pada tahun 2005. Ia dihubungkan oleh stesen bawah tanah, Stesen Mitsukoshimae, Tokyo Metro.')"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results_Y = results[:]\n",
    "results_Y[0], Y[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def calculate_wer(actual, hyp):\n",
    "    \"\"\"\n",
    "    Calculate WER using `python-Levenshtein`.\n",
    "    \"\"\"\n",
    "    import Levenshtein as Lev\n",
    "\n",
    "    b = set(actual.split() + hyp.split())\n",
    "    word2char = dict(zip(b, range(len(b))))\n",
    "\n",
    "    w1 = [chr(word2char[w]) for w in actual.split()]\n",
    "    w2 = [chr(word2char[w]) for w in hyp.split()]\n",
    "\n",
    "    return Lev.distance(''.join(w1), ''.join(w2)) / len(actual.split())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 99384/99384 [00:03<00:00, 28508.08it/s]\n"
     ]
    }
   ],
   "source": [
    "wer = []\n",
    "for i in tqdm(range(len(results_Y))):\n",
    "    wer.append(calculate_wer(Y[i], results_Y[i]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.20852097556764446"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "np.mean(wer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
